package com.cn.xiaonuo.tcrfinance.xmpay.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author: LiXiaoLong
 * @Date: 2023/7/14 13:54
 * @Description: 会员预付款提现入参
 */
@Data
public class    MemberWithdrawalParam {
    /**
     * 客户编号
     */
    @ApiModelProperty("客户编号")
    @NotEmpty(message = "客户编号不能为空")
    private String platCustNo;
    /**
     * 退款金额 两位小数
     */
    @ApiModelProperty("退款金额 两位小数")
    @NotNull(message = "退款金额不能为空")
    private Double refundAmt;
    /**
     * 费率
     */
    @ApiModelProperty("费率 五位小数")
    @NotNull(message = "费率不能为空")
    private Double feeRate;
    /**
     * 平台回调地址的接口编号
     *
     * 例如，平台提供给银行的地址为：
     * https://example.com/notify/接口编号
     * 预付款提现结果通知的完整地址为：
     * https://example.com/notify/withdraw
     * 则该字段上送“withdraw”即可。
     */
    @ApiModelProperty("平台回调地址的接口编号")
    @NotNull(message = "平台回调地址的接口编号不能为空")
    private String notifyUrl;
    /**
     * 固定费用值或最大费用值
     */
    @ApiModelProperty("固定费用值或最大费用值")
    @NotNull(message = "固定费用值或最大费用值不能为空")
    private Double fee;
    /**
     * 费用类型，不传默认为 2：
     * 1-固定金额收取
     * 2-按比率收取(无封顶)
     * 3-按比率收取(有封顶)
     */
    @ApiModelProperty("费用类型，不传默认为 2：\n" +
            "1-固定金额收取\n" +
            "2-按比率收取(无封顶)\n" +
            "3-按比率收取(有封顶)")
    @NotNull(message = "费用类型不能为空")
    private String feeType;

    private Integer userId;

    private List<Integer> orderIds;

}
